<template>
  <el-menu
    style="min-height: 100%; overflow-x: hidden"
    background-color="#333744"
    text-color="#fff"
    active-text-color="#ffd04b"
    :collapse-transition="false"
    :collapse="isCollapse"
    :default-active="$route.path"
    router
  >
    <div style="height: 60px; line-height: 60px; text-align: center">
      <img
        src="../assets/logo.svg"
        alt=""
        style="width: 20px; position: relative; top: 5px; margin-right: 5px"
      />
      <b style="color: #fff" v-show="logoTextShow">{{
        $t("common.description")
      }}</b>
    </div>
    <div v-for="item in menus" :key="item.id">
      <div v-if="item.path">
        <el-menu-item :index="item.path">
          <component
            :is="item.icon"
            style="width: 18px; height: 18px; margin-right: 4px"
            :title="item.name"
          >
          </component>
          <template #title>{{ item.name }}</template>
        </el-menu-item>
      </div>
      <div v-else>
        <el-sub-menu :index="item.id + ''">
          <template #title>
            <component
              :is="item.icon"
              style="width: 18px; height: 18px; margin-right: 4px"
            />
            <span>{{ item.name }}</span>
          </template>
          <div v-for="subItem in item.children" :key="subItem.id">
            <el-menu-item :index="subItem.path">
              <component :is="subItem.icon" style="width: 18px; height: 18px" />
              <template #title>{{ subItem.name }}</template>
            </el-menu-item>
          </div>
        </el-sub-menu>
      </div>
    </div>
  </el-menu>
</template>

<script>
export default {
  name: "Aside",
  props: {
    isCollapse: Boolean,
    logoTextShow: Boolean,
  },
 
  data() {
    return {
      menus: localStorage.getItem("menus")
        ? JSON.parse(localStorage.getItem("menus"))
        : [],
      opens: localStorage.getItem("menus")
        ? JSON.parse(localStorage.getItem("menus")).map((v) => v.id + "")
        : [],
    };
  },
};
</script>

<style>
/*解决收缩菜单文字不消失问题*/
.el-menu--collapse span {
  visibility: hidden;
}
</style>
